· 3 minute read

SteamVR runtime issues

One of my favoite things in software development is when you change nothing, but something, homehow broke anyways.
This was the case when I continued development yesterday. I would boot up SteamVR, launch Chrome Canary, load the project, enter VR and.... nothing.

"Next up: Chrome 96", but that's was a lie.
It seemed SteamVR had quit on me for some reason. No worries, I thought, a simple restart should fix this.
After a restart however, the same issue was still present. Uh oh... what now?

I started looking for possible issues. Was there something in my code that prevented the rendering of the scene? When moving my controller around I was able to mute a stem so the scene definitely loaded, but it didn't render. At least I was able to narrow it down a bit. I reverted back to older to code to see if my render function was broken or if I somehow forgot to call the animation loop, but to no avial. I also tried a demo from Three.js itself, but had the same issue. This was an important moment and made me realize it wasn't me who messed up. Pfieww..

I decided Google would probably have the answer I needed so I googled around and around, delving deeper into what could be the issue. I found a thead on GitHub from a year ago talking about runtimes (which I had to force to OpenXR to get this to work during setup). I checked what runtime SteamVR was using and noticed a few errors in the debug console. I also saw that I was still using the SteamVR Beta and it was updated yesterday... As this was the only variable that I could find that had changed I decided to revert back to the stable release and do a clean install of SteamVR. This managed to fix my issue and it's worked perfectly fine ever since.

not responding

This begs the question though; Is WebXR stable enough to depend on for a project?

Well I think this depends. For this project I've only had this issue so unless something major pops up, I am quite happy with the performance and stability so far.
That is not to say everything is perfect, I do encounter the occasional freeze, crash or sometimes it wont even load and I have to press "Enter VR" a few times...

And that's perfectly fine for an experimental project like this where you figure out what is possible, but I am not sure if I'd depend on web based VR experiences if they played a major role in my product or campaign.

That said, I absolutely love how far I've come with this project. It's been really exciting to work with something completely new and being able to discover new features and ways to use this cutting edge technology.